package com.hjm.project.finance.agentDeductions.domain;

import com.hjm.framework.aspectj.lang.annotation.Excel;
import com.hjm.framework.web.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 代理商扣款规则对象 agent_deductions
 *
 * @author maker-platform
 * @date 2022-10-21
 */
@Data
public class AgentDeductions extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @Excel(name = "序号")
    private Integer id;

    /** 代理商编号 */
    @Excel(name = "代理商编号")
    private String agentNum;

    /** 代理商名称 */
    @Excel(name = "代理商名称")
    private String agentName;

    /** 终端类型 4 电签 */
    @Excel(name = "终端类型",readConverterExp = "0=传统终端,4=电签POS")
    private Integer posType;

    /** 机具数量 */
    @Excel(name = "机具数量")
    private Integer posNumber;

    /** 扣款类型 1 机具扣款 2伪激活 */
    @Excel(name = "扣款类型 ",readConverterExp = "1=机具扣款,2=伪激活")
    private Integer deductionType;

    /** 扣款比例 */
    @Excel(name = "扣款比例")
    private String ratio;

    /** 扣款金额 */
    @Excel(name = "扣款金额")
    private BigDecimal deductionMoney;

    /** 添加人 */
    @Excel(name = "添加人")
    private String addMan;

    /** 扣款用途 */
    @Excel(name = "扣款用途")
    private String note;

    /** 生成日期 */
    @Excel(name = "生成日期")
    private String addDate;

    /** 审核状态 0 审核打回 1 已上送 2 审核成功 */
    private Integer auditStatus;

    /** 剩余扣款金额 */
    @Excel(name = "剩余扣款金额")
    private BigDecimal deductionMoneyD;

    /** 已扣除金额 */
    @Excel(name = "已扣除金额")
    private BigDecimal deductionMoneyK;

    /** 扣还状态 0未完成  1已完成*/
    @Excel(name = "扣还状态" ,readConverterExp = "0=未完成,1=已完成")
    private Integer deductionStatus;

    /** 开始日期 */
    private String begin_valid;

    /** 结束日期 */
    private String end_valid;

    /** 选择sn */
    private String sn;

    /** 收款账户编号 */
    @Excel(name = "收款账户编号")
    private String proAgentNum;

    /** 收款账户名称 */
    private String proAgentName;

    /** 收款账户编号(团长号) */
    private String proYlId;

    /** 收款账户名称(团长名称) */
    private String proYlName;

    /** 是否出款到团长号 0否  1是 */
    private Integer proIsYl;

    /** 团长时收款账户编号 */
    private String proAgentNum1;













    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("agentNum", getAgentNum())
            .append("agentName", getAgentName())
            .append("posType", getPosType())
            .append("posNumber", getPosNumber())
            .append("deductionType", getDeductionType())
            .append("ratio", getRatio())
            .append("deductionMoney", getDeductionMoney())
            .append("addMan", getAddMan())
            .append("note", getNote())
            .append("addDate", getAddDate())
            .append("auditStatus", getAuditStatus())
            .toString();
    }
}
